package com.hxht.storage.server.service;

import java.util.List;

import com.hxht.storage.server.bean.PlanRecordBean;
import com.hxht.storage.server.bean.RecordSearchBean;
import com.hxht.storage.server.bean.RecordSearchResultBean;
import com.hxht.storage.server.bean.RecordStopBean;
import com.hxht.storage.server.pojo.NvrIpchannelInfo;
import com.hxht.storage.server.pojo.PlanRecordInfo;

/**
 * 手工录像操作服务接口
 * @author Administrator
 *
 */
public interface PlanRecordService {

	/** 手工录像开始 */
	boolean startRecord(PlanRecordBean manualRecordBean);
	
	/** 手工录像停止 */
	boolean stopRecord(RecordStopBean recordStopBean);
	
	/** 根据 IP设备的设备ID、设备通道号、开始时间、结束时间 来搜索录像文件
	 * @param typeList */
	List<RecordSearchResultBean> searchRecordByDevice(RecordSearchBean searchBean, List<Integer> typeList);
	
	/** 根据 IP设备的设备ID、设备通道号,查找该通道是否正在计划录像 */
	boolean isRecording(String deviceId, int channelIndex);
	
	/** 关闭某一个ip通道的正在录像信息，并设置其停止时间 */
	void stopRecordingOfIpchannel(String nvrIp, int ipchannel);

	/** 根据 根据 IP设备的设备ID、设备通道号，找到该通道对应的计划录像ip通道 */
	NvrIpchannelInfo getRecordingIpchannel(String deviceId, int deviceChannelIndex);

	/** 根据录像标识，找到相应的手工录像信息 */
	PlanRecordInfo getrecordByUuid(String recordUuid);

	/** 获得正在进行录像的 所有 计划录像信息 */
	List<PlanRecordInfo> getRecordingDevice();
}
